home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Programming / ModemLink / include / clib / ModemLink_protos.h next >
C/C++ Source or Header  |  1997-04-06  |  3KB  |  133 lines

  1. #ifndef CLIB_MODEM_LINK_PROTOS_H
  2. #define CLIB_MODEM_LINK_PROTOS_H
  3.  
  4. /*
  5. **
  6. ** FILENAME:   ModemLink_protos.h
  7. ** RELEASE:    1.0
  8. ** REVISION:   36.0
  9. **
  10. ** C prototypes.
  11. **
  12. ** (C) Copyright 1997 Michael Veroukis
  13. */
  14.  
  15. #ifndef  EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif
  18. #ifndef  EXEC_IO_H
  19. #include <exec/io.h>
  20. #endif
  21. #ifndef  DEVICES_SERIAL_H
  22. #include <devices/serial.h>
  23. #endif
  24.  
  25. /*
  26. ** Following group of functions are only accessible through the
  27. ** ModemLink.lib link library.  Use the AmigaOS routines in exec.library
  28. ** if you are using the ModemLink.device
  29. */
  30. BYTE ML_DoIO(struct IORequest *IOReq);
  31. void ML_SendIO(struct IORequest *IOReq);
  32. void __asm ML_AbortIO(register __a1 struct IORequest *IOReq);
  33.  
  34.  
  35. /*
  36. ** the following group of functions are available in the ModemLink.lib and 
  37. ** ModemLinkDev.lib link libraries.  If you plan on using the
  38. ** ModemLink.device with any of the "Tags" functions, make sure you link
  39. ** with the ModemLinkDev.lib, as it contains the glue routines for
  40. ** the tag calls.
  41. */
  42. ULONG ML_SendModemCMDTags(struct IOExtSer *SerIO, char *CMD, ULONG tagitem, ...);
  43. ULONG ML_DialTags(struct IOExtSer *SerIO, char *PhoneNum, ULONG tagitem, ...);
  44. ULONG ML_AnswerTags(struct IOExtSer *SerIO,  ULONG tagitem, ...);
  45.  
  46. ULONG ML_EstablishTags(struct IOExtLink *LinkIO, struct IOExtSer *SerIO, ULONG data, ...);
  47.  
  48.  
  49. /*
  50. ** The rest of these routines are accessible from both the link library
  51. ** (ModemLink.lib) and the device (via pragmas).  ModemLinkDev.lib not
  52. ** required for these...
  53. */
  54. ULONG __asm
  55. ML_SendModemCMDTagList
  56. (
  57.   register __a0 struct IOExtSer *SerIO,
  58.   register __a1 char *CMD,
  59.   register __a2 struct TagItem *tagList
  60. );
  61.  
  62. ULONG __asm
  63. ML_DialTagList
  64. (
  65.   register __a0 struct IOExtSer *SerIO,
  66.   register __a1 char *PhoneNum,
  67.   register __a2 struct TagItem *tagList
  68. );
  69.  
  70. ULONG __asm
  71. ML_AnswerTagList
  72. (
  73.   register __a0 struct IOExtSer *SerIO,
  74.   register __a1 struct TagItem *tagList
  75. );
  76.  
  77.  
  78. ULONG __asm
  79. ML_EstablishTagList
  80. (
  81.   register __a0 struct IOExtLink *LinkIO,
  82.   register __a1 struct IOExtSer *SerIO,
  83.   register __a2 struct TagItem *tagList
  84. );
  85.  
  86. void __asm
  87. ML_Terminate
  88. (
  89.   register __a0 struct IOExtLink *LinkIO
  90. );
  91.  
  92.  
  93. struct LinkPkt __saveds __asm
  94. *ML_AllocPkt(void);
  95.  
  96. void __asm
  97. ML_FreePkt
  98. (
  99.   register __a0 struct LinkPkt *Pkt
  100. );
  101.  
  102. void __asm
  103. ML_FreePktList
  104. (
  105.   register __a0 struct MinList *PktList
  106. );
  107.  
  108.  
  109. ULONG __asm
  110. ML_PacketizeData
  111. (
  112.   register __a0 struct MinList *PktList,
  113.   register __a1 UBYTE *Data,
  114.   register __d0 ULONG Length,
  115.   register __d1 ULONG PktSize
  116. );
  117.  
  118. ULONG __asm
  119. ML_DePacketizeData
  120. (
  121.   register __a0 struct MinList *PktList,
  122.   register __a1 UBYTE *Data,
  123.   register __d0 ULONG Length
  124. );
  125.  
  126. ULONG __asm
  127. ML_PacketDataSize
  128. (
  129.   register __a0 struct MinList *PktList
  130. );
  131.  
  132. #endif
  133.